package com.sxu.greedy.day4;

/**
 * 跳跃游戏II
 */
public class Test16 {
    public int jump(int[] nums) {
        int left = 0, right = 0, ret = 0, maxPos = 0, n = nums.length;
        while(left<=right){ // 防止跳不到 n-1 位置
            if(maxPos >= n-1){
                return ret;
            }
            for(int i = left ; i<=right;i++){ // 更新下一层的最右端点
                maxPos = Math.max(maxPos, nums[i] + i);
            }
            left = right + 1;
            right = maxPos;
            ret ++;
        }
        return -1;
    }
}
